package scale_hw3

//实验题目三：
//假设你正在编写一个程序来处理一组整数。你需要实现以下三个函数：
//1.addOne 函数：接受一个整数列表作为参数，将列表中的每个整数加 1，并返回结果列表。
//2.filterEven 函数：接受一个整数列表作为参数，返回所有偶数的列表。
//3.mapReduce 函数：接受一个整数列表和两个函数作为参数，分别是映射函数和归约函数，该函数首先将列表中的每个元素应用于映射函数，然后将结果应用于归约函数并返回最终结果。
//要求：
//1.addOne 和 filterEven 函数必须使用高阶函数实现。
//你可以使用任何你喜欢的 Scala 标准库函数来实现这些函数。

object Num_operate {
  def addOne(list: List[Int]): List[Int]={
    list.map( x=>x+1 )
}
  def filterEven(list: List[Int]): List[Int] = {
    list.filter(x => x % 2 == 0)
  }
  def mapReduce(list: List[Int])(mapFunc: Int => Int)(reduceFunc: (Int, Int) => Int): Int = {
    list.map(mapFunc).reduce(reduceFunc)
  }
}
